package com.sixthreethree.myapplication;

import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import java.util.ArrayList;
import java.util.List;

import com.sixthreethree.myapplication.bean.Friend;
import com.sixthreethree.myapplication.widget.DialogFriend;
import com.sixthreethree.myapplication.widget.DialogFriend.onAddFriendListener;

import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;

public class DialogMultiActivity extends AppCompatActivity implements
        OnClickListener, onAddFriendListener {
    private TextView tv_result;
    private String[] phoneArray = {"15960238696", "15805910591", "18905710571"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_dialog_multi);

        // 通过findViewById方法找到布局文件中id为tv_origin的TextView控件
        TextView tv_origin = findViewById(R.id.tv_origin);
        // 这里应该是在类的成员变量中定义了tv_result，通过findViewById找到id为tv_result的控件
        tv_result = findViewById(R.id.tv_result);
        // 为id为btn_friend的按钮设置点击事件监听器，这里的this表示当前类实现了OnClickListener接口，自身作为监听器
        findViewById(R.id.btn_friend).setOnClickListener(this);

        String origin = "";
        // 遍历phoneArray数组，phoneArray应该是在类的其他地方定义好的存储电话号码的数组
        for (String phone : phoneArray) {
            // 将每个电话号码按照指定格式拼接到origin字符串中，每个电话号码之间有两个空格隔开
            origin = String.format("%s  %s", origin, phone);
        }
        // 设置tv_origin的文本内容，去除拼接后字符串两端可能存在的空白字符
        tv_origin.setText(origin.trim());
    }
    // 重写OnClickListener接口的onClick方法，用于处理按钮点击事件
    @Override
    public void onClick(View v) {
        // 判断点击的按钮是否是id为btn_friend的按钮
        if (v.getId() == R.id.btn_friend) {
            // 创建一个ArrayList用于存储Friend类型的对象，Friend应该是自定义的类，用于表示好友信息
            ArrayList<Friend> friendList = new ArrayList<Friend>();
            // 再次遍历phoneArray数组
            for (String phone : phoneArray) {
                // 为每个电话号码创建一个Friend对象，并添加到friendList中
                friendList.add(new Friend(phone));
            }
            // 创建一个DialogFriend对话框对象，传入当前Activity上下文、好友列表以及当前类作为确认监听器
            DialogFriend dialog = new DialogFriend(this, friendList, this);
            // 显示创建好的对话框
            dialog.show();
        }
    }

    // 一旦用户点击对话框上的确定按钮，就触发监听器的addFriend方法
    public void addFriend(List<Friend> friendList) {
        String result = "添加的好友信息如下：";
        // 循环遍历好友列表
        for (Friend item : friendList) {
            // 按照指定格式拼接每个好友的信息到result字符串中，包括电话号码、关系以及是否允许访问朋友圈等信息
            result = String.format("%s\n号码%s，关系是%s，%s访问朋友圈", result,
                    item.phone, item.relation, (item.admit_circle)? "允许" : "禁止");
        }
        // 设置tv_result的文本内容为拼接好的好友信息字符串
        tv_result.setText(result);

    }
}